ב 5 בפברואר, הודיע אורקל על יציאתה של גרסה יציבה חדשה: MySQL 5.6
בגרסה החדשה נעשתה הרבה עבודה נהדרת. עיקר המאמץ הופנה לשיפור ביצועים, יכולת הרחבה וגמישות. המנוע הכי חשוב innodb ספג הרבה שינוים משמעוטיים בהחלט.
השיפורים עיקריים כוללים: תמיכה בחיפוש טקסט מלא, היכולת לגשת לנתונים באמצעות Memcached API, ביצועים משופרים בכתיבת נתונים אינטנסיבית, כמו גם היכולות טיפול בהמון חיבורים פתוחים מקבילים.
אחד החידושים המגניבים בגרסה החדשה היא האפשרות לבצע פעולות (data definition language) DDL בלי להפסיק את העבודה של המסד עצמו וחסימת גישה לטבלאות. (כלומר פעולות כמו שינוי מבנה טבלה, מחיקה והוספה של עמודות ושינויי שמות עמודות בלי לחסום את הגישה אל הטבלה באותו זמן).
על הדרך, גרסה 5.6 תומכת בשרתים עם 48 ליבות לעומת 32 ליבות בגרסה 5.5.
קצת פירוט על החידושים הנוספים:
* התווסף API חדש לגישה לנתונים לפי ערך-מפתח בטבלאות InnoDB שתואם את ה API של memcached.
* נוספה האפשרות ליצור אינדקס לחיפוש טקסט מלא בטלבאות InnoDB. בעבר אופציה זו היית רק במנוע ה MyISAM
* אופטימיזציות חדשות במפענח השאילתות.
Index Condition Pushdown (ICP) ו- Batch Key Access (BKA) מאפשרים להגדיל עד פי 280 את התפוקה של שאילתות מסוג «SELECT… FROM single_table… ORDER BY non_index_column [DESC] LIMIT [M,]N;»
* הורחבו משמעוטית כלי האבחון. מעכשיו explain עובד גם על שאילתות insert, update, delete.
את תוצאות ה explain אפשר לקבל בתור json וכלי חדש מאפשר לעקוב אחרי כל ההחלטות של האופטימייזר בשלב האופטימיזציה של השאילתה.
( מי שהיה בכנס PHP השני זוכר ש mysql קודם מפענחת את השאילתה (parsing) ואחרי זה בונה לו execution plan - מה תהיה הדרך הכי טובה בשבילה להשיג את הנתונים המבוקשים.
* נוספו אופטימיזציות חדשות לתתי-שאילתות לפני הביצוע שלהם
למשל תת-שאילת «SELECT… FROM table1 WHERE… IN (SELECT… FROM table2 ...))»
תולחף ב JOIN יותר אפקטיבי.
* שופרה המהירות קריאה בטבלאות InnoDB, במקומות מסיומים אף עד 230%. כולם יודעים שהיתרון היחסי של טבלאות MyISAM היה המהירות קריאה הגבוה היותר.
* נוספה אפשרות של דיליי ברפליקציה, ככה שהרפליקציה לא תהיה מיידית, אלה אחרי פרק זמן מסוים.
יכול לעזור מטעויות אנוש כמו מחיקת נתונים מיותרת.
* תמיכה בהפעלה של המסד במצב של קריאה בלבד
* אפשרות שמירת חלקי שניות בשדות מסוג timestamp, time, datetime
עוד כל מיני פיצ'רים חדשים שרשומים ב changelog או בהודעה של אורקל שבה הם גם מזמינים לוובינר שבו יספרו על החידושים בגרסה (14 לפברואר,20:00 בשעון ישראל, שפה: אנגלית ).
הגרסה החדשה מוסיפה למאבק של mysql עם המתחרה שלה MariaDB שלאט לאט מוציאה את mysql מההפצות לינוקס (כרגע fedora & opensuse). נזכיר ש-MariaDB היא fork של mysql. כאשר mysql עברה לבעלותה של oracle ונהפכה להיות קוד סגור, המפתחים הראשיים עזבו את החברה והמשיכו בפיתוח קוד פתוח.
תגובות לכתבה:
תודה :-)
תודה רבה. :)